package com.rockontrol.ele.service;

import java.util.List;

import com.rockontrol.ele.pojo.Ma出入库单;
import com.rockontrol.ele.pojo.Ma出入库明细;
import com.rockontrol.ele.pojo.Ma帐套;
import com.rockontrol.ele.pojo.Ma物资库存;
import com.rockontrol.ele.pojo.Ma物资消耗台帐;
import com.rockontrol.ele.pojo.Ma盘库报告;
import com.rockontrol.ele.pojo.Ma结算汇总;
import com.rockontrol.ele.vo.AllocationCdt;
import com.rockontrol.ele.vo.CheckInventoryCdt;
import com.rockontrol.ele.vo.InOutDepotReceiptCdt;
import com.rockontrol.ele.vo.MaConsumeCdt;
import com.rockontrol.ele.vo.MaterialClearingCdt;
import com.rockontrol.ele.vo.MaterialInventoryCdt;
import com.rockontrol.ele.vo.MaterialJournalCdt;
import com.rockontrol.ele.vo.Ma物资流水帐;

public interface MaStorageSvc {
	//帐套服务
	public String createTheInventoryAllocation (Ma帐套 ia_);
	
	public Ma帐套 getTheInventoryAllocation(String id_);
	
	public List<Ma帐套> getInventoryAllocations(AllocationCdt cdt_);
	
	public String pageInitGetInventoryAllocations (AllocationCdt cdt_, String roll_);
	
	public Boolean deleteTheInventoryAllocation (String id_);
	
	public Boolean updateTheInventoryAllocation (Ma帐套 ia_);
	
	public Ma帐套 checkTheMaterialAccount (String id_,String type);
	
	public Boolean IsDeleteTheMaterialAccount (String id_);
	
	//出入库单信息服务
	public String createTheInOutDepotReceipt(Ma出入库单 oisr_);
	
	public Ma出入库单 getTheInOutDepotReceipt(String id_);
	
	public Ma出入库单 getTheInOutDepotReceiptByBindId(String bindid_);
	
	public List<Ma出入库单> getInOutDepotReceipts(InOutDepotReceiptCdt cdt_);
	
	public String pageInitGetInOutDepotReceipts (InOutDepotReceiptCdt cdt_,String roll_);
	
	public Boolean deleteTheInOutDepotReceipt (String id_);
	
	public Boolean updateTheInOutDepotReceipt (Ma出入库单 oisr_);
	
	public Ma出入库明细 getTheInOutDepotReceiptDetail (String id_);
	
	public Ma出入库单 getLastInOutInfo(String unit);
	
	public Boolean modifOutStoreroomingStatus(Ma出入库单 oisr_);
	//指定设备
	public Boolean assignMauipment(Ma出入库单 oisr_);
	//流水帐服务
	public List<Ma物资流水帐> getMaterialJournalAccount (MaterialJournalCdt cdt_);
	public String pageInitGetMaterialJournalAccount (MaterialJournalCdt cdt_,String roll);
	
	// 结算服务
	public List< Ma结算汇总> getMaterialClearingAccount (MaterialClearingCdt cdt_);
	public String pageInitGetMaterialClearingAccount(MaterialClearingCdt cdt_,String roll_);
	
	public void finalSettlement();
	//盘库服务
	public Ma盘库报告 initTheMaterialCheckInventory (String unitId_,String type);
	
	public String createTheMaterialCheckInventory (Ma盘库报告 mci_);
	
	public Ma盘库报告 getTheMaterialCheckInventory (String id_,String empId_,String bindId_,boolean isBalance_,String type_);
	
	public String pageInitGetCheckInventorys (CheckInventoryCdt cdt_, String roll_);
	
	public Boolean deleteTheMaterialCheckInventory (String id_);
	
	public Boolean updateTheMaterialCheckInventory (Ma盘库报告 mci_);
	
	public Boolean balanceAccount (Ma盘库报告 mci_);
	
	//物资库存信息服务
	public String updateTheMaterialInventory (Ma物资库存 mi_);
	
	public Ma物资库存 getTheMaterialInventoryItem (String flid_ , String xhid_ , String accId);
	
	public Ma物资库存 getMaterialInvetoryById(String id_);
	
	public List<Ma物资库存> getMaterialInventory(MaterialInventoryCdt miCdt_);
	public String pageInitGetMaterialInventory(MaterialInventoryCdt miCdt_, String roll_);
	
	
	public Boolean updateMaterialInventory (Ma物资库存 mi_);
	
	//分页信息服务
	public String pageNumMaStorage(String roll_,Integer num_);
	
	//设备退回创建服务
	public String createTheSendBackReceipt(Ma出入库单 oisr_);
	public String pageInitGetSendBackReceipts (InOutDepotReceiptCdt cdt_,String roll_);
	
	/*
	 * 2012-09-13 杨晶 物资消耗台帐服务
	 */
	public String createConsumeAcc(Ma物资消耗台帐 ca_);
	public Ma物资消耗台帐 getConsumeAcc(String id_);
	public List<Ma物资消耗台帐> getConsumeAccs(MaConsumeCdt cdt_);
	public String pageInitGetConsumeAccs(MaConsumeCdt cdt_,String roll);
	public Boolean updateConsumeAcc(Ma物资消耗台帐 ca_);
	public Boolean deleteConsumeAcc(String id_);
	
}
